package lemar.entidad;
// Generated 09-09-2013 10:52:54 PM by Hibernate Tools 3.2.1.GA


import java.util.Date;
import java.util.HashSet;
import java.util.Set;
import javax.persistence.CascadeType;
import javax.persistence.Column;
import javax.persistence.Entity;
import javax.persistence.FetchType;
import javax.persistence.Id;
import javax.persistence.JoinColumn;
import javax.persistence.ManyToOne;
import javax.persistence.OneToMany;
import javax.persistence.Table;
import javax.persistence.Temporal;
import javax.persistence.TemporalType;

/**
 * Factura generated by hbm2java
 */
@Entity
@Table(name="factura"
    ,catalog="lemar"
)
public class Factura  implements java.io.Serializable {


     private String idFactura;
     private DetalleVenta detalleVenta;
     private HistorialVenta historialVenta;
     private String nombreCliente;
     private Date fecha;
     private String direccion;
     private String ventaCuenta;
     private String dui;
     private Set<DetalleVenta> detalleVentas = new HashSet<DetalleVenta>(0);

    public Factura() {
    }

	
    public Factura(String idFactura, DetalleVenta detalleVenta, HistorialVenta historialVenta, String nombreCliente, Date fecha, String direccion, String ventaCuenta, String dui) {
        this.idFactura = idFactura;
        this.detalleVenta = detalleVenta;
        this.historialVenta = historialVenta;
        this.nombreCliente = nombreCliente;
        this.fecha = fecha;
        this.direccion = direccion;
        this.ventaCuenta = ventaCuenta;
        this.dui = dui;
    }
    public Factura(String idFactura, DetalleVenta detalleVenta, HistorialVenta historialVenta, String nombreCliente, Date fecha, String direccion, String ventaCuenta, String dui, Set<DetalleVenta> detalleVentas) {
       this.idFactura = idFactura;
       this.detalleVenta = detalleVenta;
       this.historialVenta = historialVenta;
       this.nombreCliente = nombreCliente;
       this.fecha = fecha;
       this.direccion = direccion;
       this.ventaCuenta = ventaCuenta;
       this.dui = dui;
       this.detalleVentas = detalleVentas;
    }
   
     @Id 
    
    @Column(name="ID_FACTURA", unique=true, nullable=false, length=25)
    public String getIdFactura() {
        return this.idFactura;
    }
    
    public void setIdFactura(String idFactura) {
        this.idFactura = idFactura;
    }
@ManyToOne(fetch=FetchType.LAZY)
    @JoinColumn(name="ID_DETALLE_VENTA", nullable=false)
    public DetalleVenta getDetalleVenta() {
        return this.detalleVenta;
    }
    
    public void setDetalleVenta(DetalleVenta detalleVenta) {
        this.detalleVenta = detalleVenta;
    }
@ManyToOne(fetch=FetchType.LAZY)
    @JoinColumn(name="ID_HISTORIAL", nullable=false)
    public HistorialVenta getHistorialVenta() {
        return this.historialVenta;
    }
    
    public void setHistorialVenta(HistorialVenta historialVenta) {
        this.historialVenta = historialVenta;
    }
    
    @Column(name="NOMBRE_CLIENTE", nullable=false, length=50)
    public String getNombreCliente() {
        return this.nombreCliente;
    }
    
    public void setNombreCliente(String nombreCliente) {
        this.nombreCliente = nombreCliente;
    }
    @Temporal(TemporalType.DATE)
    @Column(name="FECHA", nullable=false, length=10)
    public Date getFecha() {
        return this.fecha;
    }
    
    public void setFecha(Date fecha) {
        this.fecha = fecha;
    }
    
    @Column(name="DIRECCION", nullable=false, length=256)
    public String getDireccion() {
        return this.direccion;
    }
    
    public void setDireccion(String direccion) {
        this.direccion = direccion;
    }
    
    @Column(name="VENTA_CUENTA", nullable=false, length=50)
    public String getVentaCuenta() {
        return this.ventaCuenta;
    }
    
    public void setVentaCuenta(String ventaCuenta) {
        this.ventaCuenta = ventaCuenta;
    }
    
    @Column(name="DUI", nullable=false, length=10)
    public String getDui() {
        return this.dui;
    }
    
    public void setDui(String dui) {
        this.dui = dui;
    }
@OneToMany(cascade=CascadeType.ALL, fetch=FetchType.LAZY, mappedBy="factura")
    public Set<DetalleVenta> getDetalleVentas() {
        return this.detalleVentas;
    }
    
    public void setDetalleVentas(Set<DetalleVenta> detalleVentas) {
        this.detalleVentas = detalleVentas;
    }




}


